﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SFML.Graphics;
using System.IO;
using System.Windows.Forms;

namespace Strom.Client.Graphic
{
    public class Initializer
    {
        // Chargement du moteur graphique
        public static void Load()
        {
            Var.RenderWin.SetFramerateLimit(60);

            // Chargement de la police
            Var.GameFont = new Font("C:/Windows/Fonts/Arial.ttf");

            // Chargement des Tiles
            LoadTiles();

            Var.Loaded = true;
        } 

        // Déchargement du moteur graphique
        public static void Unload()
        {
            Var.RenderWin = null;
            Var.GameFont = null;

            Var.Loaded = false;
        }

        // Chargement des tiles présents dans le dossier
        static void LoadTiles()
        {
            var list = Directory.GetFiles("Graphique/Tiles");
            Var.TilesList = new string[list.Length];

            for (int i = 0; i < list.Length; i++)
                Var.TilesList[i] = list[i].Substring(list[i].LastIndexOf('\\') + 1);
            
            // Redimension des array
            Var.TexTiles = new Texture[Var.TilesList.Length];

            for (byte i = 0; i < list.Length; i++)
            {
                Var.TexTiles[i] = new Texture(list[i]);
            }
        }
    }
}
